[INFO] cloning repository https://github.com/farbenmeer/ai-pod
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/farbenmeer/ai-pod" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffarbenmeer%2Fai-pod", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffarbenmeer%2Fai-pod'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 47b67122980e7d7c1415ef6e85cd6d4928ac6f91
[INFO] testing farbenmeer/ai-pod against try#b8e88e5ddf5521a9f43ee3f62a702388c713e4bb for pr-155114
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffarbenmeer%2Fai-pod" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/farbenmeer/ai-pod
[INFO] finished tweaking git repo https://github.com/farbenmeer/ai-pod
[INFO] tweaked toml for git repo https://github.com/farbenmeer/ai-pod written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/farbenmeer/ai-pod on toolchain b8e88e5ddf5521a9f43ee3f62a702388c713e4bb
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/farbenmeer/ai-pod already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 87abac87ea4d5d2f2f2f6921db7d8b7b5152b9bb5ad89f5331e1a60840a0060b
[INFO] running `Command { std: "docker" "start" "-a" "87abac87ea4d5d2f2f2f6921db7d8b7b5152b9bb5ad89f5331e1a60840a0060b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "87abac87ea4d5d2f2f2f6921db7d8b7b5152b9bb5ad89f5331e1a60840a0060b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "87abac87ea4d5d2f2f2f6921db7d8b7b5152b9bb5ad89f5331e1a60840a0060b", kill_on_drop: false }`
[INFO] [stdout] 87abac87ea4d5d2f2f2f6921db7d8b7b5152b9bb5ad89f5331e1a60840a0060b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f45beb95706cf2193cc55ea4e4a8630d7d31033362f3b922fea87e54a9e0b4a7
[INFO] running `Command { std: "docker" "start" "-a" "f45beb95706cf2193cc55ea4e4a8630d7d31033362f3b922fea87e54a9e0b4a7", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling libc v0.2.185
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling winnow v1.0.1
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling cc v1.2.60
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling futures-lite v2.6.1
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling endi v1.1.1
[INFO] [stderr]    Compiling async-io v2.6.0
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling rustls v0.23.38
[INFO] [stderr]    Compiling async-channel v2.5.0
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling async-lock v3.4.2
[INFO] [stderr]    Compiling piper v0.2.5
[INFO] [stderr]    Compiling raw-cpuid v11.6.0
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling toml_edit v0.25.11+spec-1.1.0
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling blocking v1.6.2
[INFO] [stderr]    Compiling async-executor v1.14.0
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling dashmap v5.5.3
[INFO] [stderr]    Compiling async-broadcast v0.7.2
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling spinning_top v0.3.0
[INFO] [stderr]    Compiling ordered-stream v0.2.0
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling nonzero_ext v0.3.0
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling rustc-hash v2.1.2
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling no-std-compat v0.4.1
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]    Compiling nonempty v0.7.0
[INFO] [stderr]    Compiling iri-string v0.7.12
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling uuid v1.23.0
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling quanta v0.12.6
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling polling v3.11.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling tokio v1.52.0
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling rustls-webpki v0.103.12
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling async-recursion v1.1.1
[INFO] [stderr]    Compiling pin-project-internal v1.1.11
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling async-signal v0.2.14
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling async-process v2.5.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling forwarded-header-value v0.1.1
[INFO] [stderr]    Compiling dialoguer v0.11.0
[INFO] [stderr]    Compiling pin-project v1.1.11
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling zvariant_utils v3.3.0
[INFO] [stderr]    Compiling enumflags2 v0.7.12
[INFO] [stderr]    Compiling basic-toml v0.1.10
[INFO] [stderr]    Compiling askama_parser v0.13.0
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling zvariant_derive v5.10.0
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling governor v0.6.3
[INFO] [stderr]    Compiling zvariant v5.10.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling askama_derive v0.13.1
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling zbus_names v4.3.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling askama v0.13.1
[INFO] [stderr]    Compiling zbus_macros v5.14.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling zbus v5.14.0
[INFO] [stderr]    Compiling tower_governor v0.4.3
[INFO] [stderr]    Compiling notify-rust v4.15.0
[INFO] [stderr]    Compiling ai-pod v0.8.5 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 38s
[INFO] running `Command { std: "docker" "inspect" "f45beb95706cf2193cc55ea4e4a8630d7d31033362f3b922fea87e54a9e0b4a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f45beb95706cf2193cc55ea4e4a8630d7d31033362f3b922fea87e54a9e0b4a7", kill_on_drop: false }`
[INFO] [stdout] f45beb95706cf2193cc55ea4e4a8630d7d31033362f3b922fea87e54a9e0b4a7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a4c1fdbd81dec8caa16e87ee383f9d6a60fde3c3829c7c8807e50f0361b8a23c
[INFO] running `Command { std: "docker" "start" "-a" "a4c1fdbd81dec8caa16e87ee383f9d6a60fde3c3829c7c8807e50f0361b8a23c", kill_on_drop: false }`
[INFO] [stderr]    Compiling ai-pod v0.8.5 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 8.85s
[INFO] running `Command { std: "docker" "inspect" "a4c1fdbd81dec8caa16e87ee383f9d6a60fde3c3829c7c8807e50f0361b8a23c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a4c1fdbd81dec8caa16e87ee383f9d6a60fde3c3829c7c8807e50f0361b8a23c", kill_on_drop: false }`
[INFO] [stdout] a4c1fdbd81dec8caa16e87ee383f9d6a60fde3c3829c7c8807e50f0361b8a23c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e4384fac3690694ba98eb5bfbea452b787be94f0712299026ce84a61fe8971ca
[INFO] running `Command { std: "docker" "start" "-a" "e4384fac3690694ba98eb5bfbea452b787be94f0712299026ce84a61fe8971ca", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.56s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ai_pod-a2c904a44132f32f)
[INFO] [stdout] 
[INFO] [stdout] running 147 tests
[INFO] [stdout] test container::tests::container_prefix_is_deterministic ... ok
[INFO] [stdout] test container::tests::container_prefix_differs_for_different_paths ... ok
[INFO] [stdout] test config::tests::all_paths_are_under_config_dir ... ok
[INFO] [stdout] test config::tests::claude_settings_path_points_to_settings_json ... ok
[INFO] [stdout] test config::tests::init_creates_config_dir ... ok
[INFO] [stdout] test container::tests::container_prefix_starts_with_ai_pod ... ok
[INFO] [stdout] test container::tests::new_container_name_is_unique ... ok
[INFO] [stdout] test config::tests::project_state_file_is_under_config_dir ... ok
[INFO] [stdout] test config::tests::config_dir_is_under_home ... ok
[INFO] [stdout] test container::tests::new_container_name_starts_with_prefix ... ok
[INFO] [stdout] test config::tests::claude_md_path_points_to_claude_md ... ok
[INFO] [stdout] test config::tests::server_state_file_is_under_config_dir ... ok
[INFO] [stdout] test container::tests::runtime_claude_md_appends_existing_claude_md ... ok
[INFO] [stdout] test container::tests::runtime_claude_md_without_existing_file_does_not_error ... ok
[INFO] [stdout] test container::tests::runtime_settings_contains_default_mode_bypass_permissions ... ok
[INFO] [stdout] test container::tests::volume_name_differs_for_different_paths ... ok
[INFO] [stdout] test container::tests::runtime_settings_contains_stop_hook ... ok
[INFO] [stdout] test container::tests::volume_name_matches_container_prefix ... ok
[INFO] [stdout] test credentials::tests_ignore_list::ignored_credential_file_is_filtered_out ... ok
[INFO] [stdout] test credentials::tests_is_credential_file::dot_env_local ... ok
[INFO] [stdout] test container::tests::runtime_settings_stop_hook_calls_host_tools ... ok
[INFO] [stdout] test credentials::tests_ignore_list::ignored_credential_file_is_filtered_when_workspace_is_canonicalized ... ok
[INFO] [stdout] test container::tests::runtime_settings_does_not_contain_mcp_servers ... ok
[INFO] [stdout] test credentials::tests_is_credential_file::aws_credentials_path_pattern ... ok
[INFO] [stdout] test credentials::tests_is_credential_file::gnupg_path_pattern ... ok
[INFO] [stdout] test credentials::tests_is_credential_file::key_extension ... ok
[INFO] [stdout] test credentials::tests_is_credential_file::credentials_json_is_credential ... ok
[INFO] [stdout] test credentials::tests_is_credential_file::dot_env_exact_match ... ok
[INFO] [stdout] test credentials::tests_is_credential_file::normal_rust_file_is_not_credential ... ok
[INFO] [stdout] test credentials::tests_is_credential_file::p12_extension ... ok
[INFO] [stdout] test credentials::tests_is_credential_file::pem_extension ... ok
[INFO] [stdout] test credentials::tests_is_credential_file::service_account_json_is_credential ... ok
[INFO] [stdout] test credentials::tests_is_credential_file::ssh_private_key ... ok
[INFO] [stdout] test credentials::tests_scan::empty_workspace_returns_nothing ... ok
[INFO] [stdout] test credentials::tests_scan::finds_dot_env_file ... ok
[INFO] [stdout] test credentials::tests_scan::finds_credentials_in_subdirectory ... ok
[INFO] [stdout] test container::tests::runtime_claude_md_contains_container_preamble ... ok
[INFO] [stdout] test credentials::tests_scan::finds_multiple_credential_files ... ok
[INFO] [stdout] test credentials::tests_is_credential_file::normal_json_file_is_not_credential ... ok
[INFO] [stdout] test credentials::tests_scan::ignores_normal_source_files ... ok
[INFO] [stdout] test image::tests::image_name_differs_for_same_dirname_different_parent ... ok
[INFO] [stdout] test credentials::tests_scan::skips_node_modules ... ok
[INFO] [stdout] test image::tests::image_name_is_lowercase ... ok
[INFO] [stdout] test credentials::tests_scan::skips_git_directory ... ok
[INFO] [stdout] test image::tests::image_name_is_deterministic ... ok
[INFO] [stdout] test credentials::tests_scan::skips_target_directory ... ok
[INFO] [stdout] test image::tests::image_name_differs_for_different_paths ... ok
[INFO] [stdout] test image::tests::image_name_sanitises_special_chars ... ok
[INFO] [stdout] test image::tests::image_name_short_hash_is_6_hex_chars ... ok
[INFO] [stdout] test image::tests::image_name_strips_leading_dot ... ok
[INFO] [stdout] test image::tests::needs_build_returns_true_when_force ... ok
[INFO] [stdout] test image::tests::image_name_uses_last_path_component ... ok
[INFO] [stdout] test runtime::tests::docker_runtime_properties ... ok
[INFO] [stdout] test container::tests::runtime_claude_md_contains_docker_preamble ... ok
[INFO] [stdout] test runtime::tests::dry_run_off_uses_real_binary ... ok
[INFO] [stdout] test runtime::tests::dry_run_on_uses_echo ... ok
[INFO] [stdout] test runtime::tests::podman_runtime_properties ... ok
[INFO] [stdout] test server::commands::tests::approval_command_handles_dash_prefixed_args ... ok
[INFO] [stdout] test server::commands::tests::approval_command_handles_empty_strings ... ok
[INFO] [stdout] test server::commands::tests::approval_command_handles_newlines_and_control_chars ... ok
[INFO] [stdout] test server::commands::tests::approval_command_does_not_interpolate_user_input ... ok
[INFO] [stdout] test server::commands::tests::approval_command_handles_backslashes_and_quotes ... ok
[INFO] [stdout] test container::tests::runtime_settings_preserves_existing_keys ... ok
[INFO] [stdout] test server::daemons::tests::daemon_log_file_has_restrictive_permissions ... ok
[INFO] [stdout] test server::commands::tests::cd_slash_is_rejected ... ok
[INFO] [stdout] test server::daemons::tests::command_with_word_starting_with_head_or_tail_not_rejected ... ok
[INFO] [stdout] test server::commands::tests::words_starting_with_head_or_tail_not_rejected ... ok
[INFO] [stdout] test server::commands::tests::normal_commands_not_rejected ... ok
[INFO] [stdout] test server::commands::tests::pipe_to_head_in_middle_of_pipeline_is_allowed ... ok
[INFO] [stdout] test server::daemons::tests::daemon_meta_epoch_zero_maps_to_zero ... ok
[INFO] [stdout] test server::commands::tests::cd_relative_is_not_rejected ... ok
[INFO] [stdout] test server::commands::tests::pipe_to_head_or_tail_is_rejected ... ok
[INFO] [stdout] test server::daemons::tests::daemon_meta_log_path_string_conversion ... ok
[INFO] [stdout] test server::daemons::tests::daemon_meta_preserves_killed_status ... ok
[INFO] [stdout] test server::daemons::tests::daemon_meta_preserves_running_status ... ok
[INFO] [stdout] test server::daemons::tests::daemon_status_serde_finished_roundtrip ... ok
[INFO] [stdout] test server::daemons::tests::daemon_status_serde_killed_roundtrip ... ok
[INFO] [stdout] test server::daemons::tests::daemon_status_serde_running_is_snake_case ... ok
[INFO] [stdout] test server::daemons::tests::empty_command_not_rejected ... ok
[INFO] [stdout] test server::daemons::tests::daemon_meta_from_entry_sets_started_at ... ok
[INFO] [stdout] test server::daemons::tests::http::daemon_status_wrong_project_returns_404 ... ok
[INFO] [stdout] test server::daemons::tests::gc_leaves_recent_finished_daemon ... ok
[INFO] [stdout] test server::daemons::tests::http::daemon_status_unknown_id_returns_404 ... ok
[INFO] [stdout] test server::daemons::tests::daemon_meta_preserves_finished_status ... ok
[INFO] [stdout] test server::daemons::tests::http::auth_wrong_api_key_returns_401 ... ok
[INFO] [stdout] test server::daemons::tests::http::list_response_has_required_fields ... ok
[INFO] [stdout] test server::daemons::tests::http::auth_unknown_project_returns_404 ... ok
[INFO] [stdout] test server::daemons::tests::gc_leaves_running_daemon_alone ... ok
[INFO] [stdout] test server::daemons::tests::http::daemon_status_returns_daemon_meta ... ok
[INFO] [stdout] test server::daemons::tests::http::list_filters_by_project ... ok
[INFO] [stdout] test server::daemons::tests::http::list_returns_empty_array_for_no_daemons ... ok
[INFO] [stdout] test server::daemons::tests::gc_removes_old_finished_daemon ... ok
[INFO] [stdout] test server::daemons::tests::daemon_status_deserialise_running_from_str ... ok
[INFO] [stdout] test server::daemons::tests::gc_removes_old_killed_daemon ... ok
[INFO] [stdout] test server::daemons::tests::http::output_unknown_daemon_returns_404 ... ok
[INFO] [stdout] test server::daemons::tests::http::output_missing_log_file_returns_empty_stream ... ok
[INFO] [stdout] test runtime::tests::dry_run_command_echoes_invocation ... ok
[INFO] [stdout] test server::daemons::tests::http::output_wrong_project_returns_404 ... ok
[INFO] [stdout] test server::daemons::tests::http::start_daemon_rejects_pipe_to_head ... ok
[INFO] [stdout] test server::daemons::tests::http::start_daemon_rejects_pipe_to_tail ... ok
[INFO] [stdout] test server::daemons::tests::http::stop_all_only_affects_requesting_project ... ok
[INFO] [stdout] test server::daemons::tests::http::start_daemon_rejects_cd_slash ... ok
[INFO] [stdout] test server::daemons::tests::http::stop_all_with_no_daemons_returns_zero ... ok
[INFO] [stdout] test server::daemons::tests::http::stop_daemon_wrong_project_returns_404 ... ok
[INFO] [stdout] test server::daemons::tests::http::stop_unknown_daemon_returns_404 ... ok
[INFO] [stdout] test server::daemons::tests::http::stop_already_finished_daemon_returns_ok ... ok
[INFO] [stdout] test server::daemons::tests::pipe_to_head_in_middle_of_pipeline_is_allowed ... ok
[INFO] [stdout] test server::daemons::tests::pipe_to_head_is_rejected ... ok
[INFO] [stdout] test server::daemons::tests::normal_commands_not_rejected ... ok
[INFO] [stdout] test server::daemons::tests::pipe_head_with_extra_whitespace ... ok
[INFO] [stdout] test server::daemons::tests::http::stop_all_returns_correct_count ... ok
[INFO] [stdout] test server::lifecycle::tests::add_allowed_is_idempotent ... ok
[INFO] [stdout] test server::daemons::tests::trailing_whitespace_after_head_is_rejected ... ok
[INFO] [stdout] test server::lifecycle::tests::is_allowed_checks_exact_match ... ok
[INFO] [stdout] test server::lifecycle::tests::project_state_default_has_no_api_key ... ok
[INFO] [stdout] test server::lifecycle::tests::server_log_file_has_restrictive_permissions ... ok
[INFO] [stdout] test server::lifecycle::tests::project_state_save_sets_restrictive_permissions ... ok
[INFO] [stdout] test server::lifecycle::tests::get_or_create_is_stable ... ok
[INFO] [stdout] test server::lifecycle::tests::state_file_is_under_config_dir ... ok
[INFO] [stdout] test server::daemons::tests::http::stop_running_daemon_is_idempotent ... ok
[INFO] [stdout] test server::daemons::tests::http::start_daemon_returns_12_char_id ... ok
[INFO] [stdout] test server::daemons::tests::http::stop_running_daemon_sets_status_killed ... ok
[INFO] [stdout] test update::tests::newer_minor ... ok
[INFO] [stdout] test update::tests::newer_patch ... ok
[INFO] [stdout] test update::tests::older_version ... ok
[INFO] [stdout] test server::daemons::tests::http::start_two_daemons_produce_different_ids ... ok
[INFO] [stdout] test workspace::tests::hash_is_12_chars ... ok
[INFO] [stdout] test workspace::tests::container_prefix_starts_with_ai_pod ... ok
[INFO] [stdout] test update::tests::same_version ... ok
[INFO] [stdout] test workspace::tests::hash_is_deterministic ... ok
[INFO] [stdout] test server::lifecycle::tests::get_or_create_generates_api_key ... ok
[INFO] [stdout] test server::daemons::tests::http::start_daemon_creates_log_dir ... ok
[INFO] [stdout] test workspace::tests::new_container_name_starts_with_prefix ... ok
[INFO] [stdout] test workspace::tests::names_differ_for_different_paths ... ok
[INFO] [stdout] test workspace::tests::volume_name_uses_workspace_hash ... ok
[INFO] [stdout] test workspace::tests::new_container_name_is_unique ... ok
[INFO] [stdout] test server::daemons::tests::http::start_daemon_is_inserted_into_state ... ok
[INFO] [stdout] test server::lifecycle::tests::project_state_load_missing_returns_default ... ok
[INFO] [stdout] test server::lifecycle::tests::project_state_round_trips ... ok
[INFO] [stdout] test update::tests::newer_major ... ok
[INFO] [stdout] test server::daemons::tests::http::output_exit_code_reflects_command_failure ... ok
[INFO] [stdout] test server::daemons::tests::http::output_streams_stdout_and_exit_for_finished_daemon ... ok
[INFO] [stdout] test server::notify::tests::send_notification_does_not_panic_with_normal_strings ... ok
[INFO] [stdout] test server::notify::tests::send_notification_does_not_panic_with_empty_strings ... ok
[INFO] [stdout] test server::notify::tests::send_notification_does_not_panic_with_quotes ... ok
[INFO] [stdout] test server::daemons::tests::http::stop_terminates_long_running_child ... ok
[INFO] [stdout] test server::daemons::tests::http::start_daemon_runs_in_project_workspace ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 147 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ai_pod-1608927a046a1b0b)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/host_tools.rs (/opt/rustwide/target/debug/deps/host_tools-1b13deb83c4355e9)
[INFO] [stderr]      Running tests/e2e.rs (/opt/rustwide/target/debug/deps/e2e-513d54567713308f)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test e2e_container_workdir_is_app ... ok
[INFO] [stdout] test e2e_needs_build_false_after_build ... ok
[INFO] [stdout] test e2e_image_name_produces_valid_tag ... ok
[INFO] [stdout] test e2e_ensure_image_is_idempotent ... ok
[INFO] [stdout] test e2e_workspace_naming_works_with_runtime ... ok
[INFO] [stdout] test e2e_clean_container_removes_all ... ok
[INFO] [stdout] test e2e_runtime_detect ... ok
[INFO] [stdout] test e2e_build_image ... ok
[INFO] [stdout] test e2e_containers_for_prefix ... ok
[INFO] [stdout] test e2e_container_default_user ... ok
[INFO] [stdout] test e2e_volume_exists_lifecycle ... ok
[INFO] [stdout] test e2e_server_reachable_from_container ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.95s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/rate_limit.rs (/opt/rustwide/target/debug/deps/rate_limit-806a5fc9c89d712a)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test rate_limit_returns_429_with_retry_after ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests ai_pod
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e4384fac3690694ba98eb5bfbea452b787be94f0712299026ce84a61fe8971ca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e4384fac3690694ba98eb5bfbea452b787be94f0712299026ce84a61fe8971ca", kill_on_drop: false }`
[INFO] [stdout] e4384fac3690694ba98eb5bfbea452b787be94f0712299026ce84a61fe8971ca
